#ifndef MATERIAL_H
#define MATERIAL_H

#include <QColor>


class Material {
public:
    Material() = default;

    void setBaseColor(const QColor& baseColor) {
        m_baseColor = baseColor;
        if (!m_originBaseColor.isValid())
            m_originBaseColor = m_baseColor;
    }
    void setMetallic(float metallic) { m_metallic = metallic; }
    void setRoughness(float roughness) { m_roughness = roughness; }

    const QColor& baseColor() const { return m_baseColor; }
    float metallic() const { return m_metallic; }
    float roughness() const { return m_roughness; }
    void resetBaseColor() { m_baseColor = m_originBaseColor; }

    QColor m_baseColor = "white";
    QColor m_originBaseColor;
    float m_metallic = 0.3;
    float m_roughness = 0.5;

};









#endif // MATERIAL_H
